
package com.findlocation.persistence.tech.dao;

import java.util.List;


@SuppressWarnings("rawtypes")
public interface CrudDao<T extends ObjetMetier>
{
   /**
    * Creee (en persistance) l'objet metier en parametre.
    * 
    * @param anObjet
    *           Objet metier a creer (obligatoire).
    * @return Objet metier (mis a jour) apres creation.
    * @throws net.viamedis.viamedisnet.commons.exceptions.TechniqueException
    *            En cas d'erreur technique.
    */
   // Create
   T creer( T anObjet ) ; 
   /**
    * Recherche des objets metier (en persistance).
    * 
    * @return Objets metier correspondants a la recherche ; vide si aucun trouve.
    * @throws net.viamedis.viamedisnet.commons.exceptions.TechniqueException
    *            En cas d'erreur technique.
    */
   // Read
   List<T> rechercher() ; 
   /**
    * Modifie (en persistance) l'objet metier en parametre.
    * 
    * @param anObjet
    *           Objet metier a modifier (obligatoire).
    * @return Objet metier (mis a jour) apres modification.
    * @throws net.viamedis.viamedisnet.commons.exceptions.TechniqueException
    *            En cas d'erreur technique.
    */
   // Update
   T modifier( T anObjet ) ;
   /**
    * Supprime (en persistance) l'objet metier en parametre.
    * 
    * @param anObjet
    *           Objet metier a supprimer (obligatoire).
    * @throws net.viamedis.viamedisnet.commons.exceptions.TechniqueException
    *            En cas d'erreur technique.
    */
   // Delete
   void supprimer( T anObjet ) ;

}
